<?php
require(APP_PATH.'/lib/PHPMailer_5.2.4/class.phpmailer.php');
//**configuration du serveur **//
//Permet de récupérer les identifiants de connection à la base de donn�es et de définir des varibles d'environnement.
$fichier = $_SERVER['DOCUMENT_ROOT']."/bdACPA/resources/conf/conf.properties";

$prop = array();
if (file_exists($fichier)){
	$file = file($fichier);
	while(list($numLigne, $ligne) = each($file)){
		$elements = explode("=", $ligne);
		if (count($elements)>1){
			$prop[$elements[0]]=trim($elements[1]);
		} else {
			$prop[$elements[0]]="";
		}
	}
} else {
	echo "Le fichier de configuration est manquant";
}
define('UTILISATEUR',$prop['UTILISATEUR']);
define('M2P',$prop['M2P']);
define('BASE',$prop['BASE_NAME']);
define('BASE_HG',$prop['BASE_HG_NAME']);
define('SERVEUR',$prop['SERVEUR']);
define('SERVEUR_MYSQL',$prop['SERVEUR_MYSQL']);
define ('URL_ERREUR_LOG','erreur.htm');
define ('URL_LOGIN_LOG','login.php');
define ('URL_LOGIN','login.php3');
define('MAIL',$prop['MAIL']);
define('MAIL_PWD',$prop['MAIL_PWD']);
define('WEB_ROOT', 'http://'.$prop['SERVEUR'].$prop['ROOT']);
if (!defined('APP_PATH')) {
	define('APP_PATH', $_SERVER['DOCUMENT_ROOT']."/bdACPA");
}
//**integration de la bibliothèque smaty**//
$smartyFile = APP_PATH.'/lib/Smarty-3.1.8/libs/Smarty.class.php';
if (file_exists($smartyFile)){
	require_once($smartyFile);
} else {
	echo "Classe Smarty.class.php manquante";
}




////inclusion des objets
require_once(APP_PATH.'/objet/Utilisateur.class.php');
require_once(APP_PATH.'/objet/Dossier.class.php');
require_once(APP_PATH.'/objet/Puce.class.php');
require_once(APP_PATH.'/objet/Centre.class.php');
require_once(APP_PATH.'/objet/CentreCoordinateur.class.php');
require_once(APP_PATH.'/objet/CategorieBiomed.class.php');
require_once(APP_PATH.'/objet/Phenotype.class.php');
require_once(APP_PATH.'/objet/PhenotypePere.class.php');
require_once(APP_PATH.'/objet/PhenotypeDossier.class.php');
require_once(APP_PATH.'/objet/MarquePuce.class.php');
require_once(APP_PATH.'/objet/TypePuce.class.php');
require_once(APP_PATH.'/objet/TypeClassification.class.php');
require_once(APP_PATH.'/objet/TypeVerif.class.php');
require_once(APP_PATH.'/objet/TypeMethodeVerif.class.php');
require_once(APP_PATH.'/objet/TypeHerite.class.php');
require_once(APP_PATH.'/objet/Preference.class.php');
require_once(APP_PATH.'/objet/CNV.class.php');
require_once(APP_PATH.'/objet/Bande.class.php');
require_once(APP_PATH.'/objet/TypePrelevement.class.php');

//initiatlisation des DAO.
require_once(APP_PATH.'/DAO/UtilisateurDAO.class.php');
require_once(APP_PATH.'/DAO/DossierDAO.class.php');
require_once(APP_PATH.'/DAO/PuceDAO.class.php');
require_once(APP_PATH.'/DAO/CentreDAO.class.php');
require_once(APP_PATH.'/DAO/CentreCoordinateurDAO.class.php');
require_once(APP_PATH.'/DAO/CategorieBiomedDAO.class.php');
require_once(APP_PATH.'/DAO/PhenotypeDAO.class.php');
require_once(APP_PATH.'/DAO/PhenotypePereDAO.class.php');
require_once(APP_PATH.'/DAO/MarquePuceDAO.class.php');
require_once(APP_PATH.'/DAO/TypePuceDAO.class.php');
require_once(APP_PATH.'/DAO/TypeMethodeVerifDAO.class.php');
require_once(APP_PATH.'/DAO/TypeVerifDAO.class.php');
require_once(APP_PATH.'/DAO/TypeClassificationDAO.class.php');
require_once(APP_PATH.'/DAO/TypeHeriteDAO.class.php');
require_once(APP_PATH.'/DAO/PreferenceDAO.class.php');
require_once(APP_PATH.'/DAO/CNVDAO.class.php');
require_once(APP_PATH.'/DAO/BandeDAO.class.php');
require_once(APP_PATH.'/DAO/TypePrelevementDAO.class.php');

//création des DAO
$UTILISATEUR_DAO = new UtilisateurDAO();
$DOSSIER_DAO = new DossierDAO();
$PUCE_DAO = new PuceDAO();
$CENTRE_DAO = new CentreDAO();
$CENTRECOORDINATEUR_DAO = new CentreCoordinateurDAO();
$CATEGORIEBIOMED_DAO = new CategorieBiomedDAO();
$PHENOTYPE_DAO = new PhenotypeDAO();
$PHENOTYPEPERE_DAO = new PhenotypePereDAO();
$MARQUEPUCE_DAO = new MarquePuceDAO();
$TYPEPUCE_DAO = new TypePuceDAO();
$TYPEMETHODEVERIF_DAO = new TypeMethodeVerifDAO();
$TYPEVERIF_DAO = new TypeVerifDAO();
$TYPEHERITE_DAO = new TypeHeriteDAO();
$TYPECLASSIFICATION_DAO = new TypeClassificationDAO();
$PREFERENCE_DAO = new PreferenceDAO();
$CNV_DAO = new CNVDAO();
$BANDE_DAO = new BandeDAO();
$TYPEPRELEVEMENT_DAO = new TypePrelevementDAO();
session_start();

if (isset ($_SESSION["utilisateur"])){
	$utilisateur =	$_SESSION["utilisateur"];
} else {
	$utilisateur = null;
}

function remove_carspeciaux($texte){
	$texte = str_replace(array("'",">","<" ), array("&#39;","&#155;","&#139;"), $texte);
	return $texte;
}

function formatEspace ($valeur, $dec){
	$nom_format_fr = number_format($valeur, $dec, '.', ' ');
	return $nom_format_fr;
}

function sendEmail($message, $sujet, $destinataire){

	$mail = new PHPMailer();
	$mail->IsSMTP(); // send via SMTP
	$mail->Host = "ssl://smtp.gmail.com"; // specify main and backup server
	$mail->Port = 465; // set the port to use
	$mail->SMTPAuth = true; // turn on SMTP authentication
	$mail->Username = MAIL; // SMTP username
	$mail->Password = MAIL_PWD; // SMTP password
	$mail->Encoding    = "8bit";
	$webmaster_email = "girard.manon@gmail.com"; //Reply to this email ID
	$mail->From = $webmaster_email;
	$mail->FromName = "Webmaster";
	$mail->AddAddress($destinataire,$destinataire);
	$mail->AddReplyTo($webmaster_email,"Webmaster");
	$mail->WordWrap = 50; // set word wrap
	$mail->IsHTML(true); // send as HTML
	$mail->Subject = $sujet;
	$mail->Body = $message;
//	$mail->AltBody = "This is the body when user views in plain text format"; //Text Body
	if(!$mail->Send())
	{
		echo "Mailer Error: " . $mail->ErrorInfo;
	}
	else
	{
		echo "Message has been sent";
	}
}

function genererMDP ($longueur = 8){
	// initialiser la variable $mdp
	$mdp = "";

	// Définir tout les caractères possibles dans le mot de passe,
	// Il est possible de rajouter des voyelles ou bien des caractères spéciaux
	$possible = "2346789bcdfghjkmnpqrtvwxyzBCDFGHJKLMNPQRTVWXYZ";

	// obtenir le nombre de caractères dans la chaîne précédente
	// cette valeur sera utilisé plus tard
	$longueurMax = strlen($possible);

	if ($longueur > $longueurMax) {
		$longueur = $longueurMax;
	}

	// initialiser le compteur
	$i = 0;

	// ajouter un caractère aléatoire à $mdp jusqu'à ce que $longueur soit atteint
	while ($i < $longueur) {
		// prendre un caractère aléatoire
		$caractere = substr($possible, mt_rand(0, $longueurMax-1), 1);

		// vérifier si le caractère est déjà utilisé dans $mdp
		if (!strstr($mdp, $caractere)) {
			// Si non, ajouter le caractère à $mdp et augmenter le compteur
			$mdp .= $caractere;
			$i++;
		}
	}

	// retourner le résultat final
	return $mdp;
}
?>
